package com.git.bds.mr.patient.service;

import com.git.bds.mr.page.PageParam;
import com.git.bds.mr.page.PageResult;
import com.git.bds.mr.patient.model.domain.PatientInfo;
import com.git.bds.mr.patient.model.dto.PatientDTO;
import com.git.bds.mr.records.model.dto.PatientRecordDTO;
import com.git.bds.mr.records.model.dto.RecordDTO;
import com.github.yulichang.base.MPJBaseService;

/**
 * <p>
 * 用户个人信息表 服务类
 * </p>
 *
 * @author 成大事
 * @since 2022-09-23 18:08:01
 */
public interface PatientInfoService extends MPJBaseService<PatientInfo> {

    /**
     * 更新自我信息
     *
     * @param patientDTO 患者dto
     * @return {@link Boolean}
     */
    Boolean updateSelfInfo(PatientDTO patientDTO);

    /**
     * 按页获取记录
     *
     * @param pageParam 页面参数
     * @return {@link PageResult}<{@link RecordDTO}>
     */
    PageResult<PatientRecordDTO> getRecordsByPage(PageParam pageParam);

    /**
     * 提议变更
     *
     * @param id     身份证件
     * @param remark 评论
     * @return {@link Boolean}
     */
    Boolean proposedChanges(Long id, String remark);
}
